package ceura.ia.practica.listener;

import ceura.ia.practica.Nodo;
import java.util.ArrayList;

/**
 * Patrón listener/observer para escuchar los cambios durante las iteraciones
 * del calculador de laberintos.
 *
 * @author Sergio Redondo y Jorge Madrid.
 */
public interface AStarListener {

    /**
     *
     * @param caminoOptimo El camino óptimo que será notificado a los listeners.
     */
    public void finishAlgorithm(ArrayList<Nodo> caminoOptimo);

    /**
     *
     * @param descubiertos Nodos descubiertos.
     * @param mejorNodo El mejor nodo elegido.
     */
    public void finishIteration(ArrayList<Nodo> descubiertos, Nodo mejorNodo);
}
